// 简单的功能测试脚本
import axios from 'axios';

console.log('🔍 开始测试登录验证功能...');

// 测试配置
const API_BASE_URL = 'http://localhost:4112';

// 创建axios实例
const apiClient = axios.create({
  baseURL: API_BASE_URL,
  timeout: 5000,
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
  }
});

// 测试用户不存在的情况
async function testUserNotFound() {
  console.log('\n📋 测试用户不存在...');
  
  try {
    const response = await apiClient.post('/login', 
      `username=nonexistent_user_${Date.now()}&password=test123456`
    );
    
    if (response.data.code === 200) {
      console.log('❌ 用户不存在但登录成功（不符合预期）');
    } else {
      console.log('✅ 返回错误信息');
      console.log(`   错误信息: ${response.data.msg}`);
    }
  } catch (error) {
    if (error.code === 'ECONNREFUSED') {
      console.log('❌ 后端服务未启动，请先启动后端服务');
    } else if (error.response && error.response.data) {
      console.log('✅ 返回错误信息');
      console.log(`   错误信息: ${error.response.data.msg}`);
    } else {
      console.log('❌ 网络错误或其他异常');
      console.log(`   错误: ${error.message}`);
    }
  }
}

// 测试空用户名
async function testEmptyUsername() {
  console.log('\n📋 测试空用户名...');
  
  try {
    const response = await apiClient.post('/login', 
      `username=&password=test123456`
    );
    
    if (response.data.code === 200) {
      console.log('❌ 空用户名但登录成功（不符合预期）');
    } else {
      console.log('✅ 返回错误信息');
      console.log(`   错误信息: ${response.data.msg}`);
    }
  } catch (error) {
    if (error.code === 'ECONNREFUSED') {
      console.log('❌ 后端服务未启动，请先启动后端服务');
    } else if (error.response && error.response.data) {
      console.log('✅ 返回错误信息');
      console.log(`   错误信息: ${error.response.data.msg}`);
    } else {
      console.log('❌ 网络错误或其他异常');
      console.log(`   错误: ${error.message}`);
    }
  }
}

// 运行测试
async function runTests() {
  console.log('='.repeat(50));
  console.log('   登录验证功能测试');
  console.log('='.repeat(50));
  
  await testUserNotFound();
  await testEmptyUsername();
  
  console.log('\n' + '='.repeat(50));
  console.log('   测试完成');
  console.log('='.repeat(50));
}

// 运行测试
runTests().catch(console.error);
